home *** CD-ROM | disk | FTP | other *** search
- Path: news.larc.nasa.gov!amiga-request
- From: amiga-request@ab20.larc.nasa.gov (Amiga Sources/Binaries Moderator)
- Subject: v91i169: gr - simple demo of screen/window/graphics/menu programming, Part01/01
- Reply-To: black@seismo.CSS.GOV (Mike Black)
- Newsgroups: comp.sources.amiga
- Message-ID: <comp.sources.amiga.v91i169@ab20.larc.nasa.gov>
- Date: 31 Aug 91 10:10:31 GMT
- Approved: tadguy@uunet.UU.NET (Tad Guy)
- X-Mail-Submissions-To: amiga@uunet.uu.net
- X-Post-Discussions-To: comp.sys.amiga.misc
-
- Submitted-by: black@seismo.CSS.GOV (Mike Black)
- Posting-number: Volume 91, Issue 169
- Archive-name: graphics/gr/part01
-
- [ includes uuencoded executable ...tad ]
-
- This is source and executable for a real simple demonstration
- of screen/window/graphics/menu programming. It does very
- little except show some colormaps. This is in response
- to several requests for some code to these things.
-
- #!/bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 1 (of 1)."
- # Contents: Makefile README gr.c gr.uu intuition.c intuition.h menu.c
- # menu.men
- # Wrapped by tadguy@ab20 on Wed Aug 28 22:17:55 1991
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'Makefile' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Makefile'\"
- else
- echo shar: Extracting \"'Makefile'\" \(304 characters\)
- sed "s/^X//" >'Makefile' <<'END_OF_FILE'
- XCFLAGS= -hi intuition.hi
- XOBJS=gr.o intuition.o menu.o
- X
- X.h:
- X
- X.men.o:
- X mc $*
- X
- Xgr: $(OBJS)
- X ln +q $(OBJS) -lc
- X
- Xintuition.o: intuition.c intuition.hi
- X cc $(CFLAGS) intuition.c
- X
- Xintuition.hi: intuition.h
- X cc -ho intuition.hi intuition.h
- X
- Xmenu.c: menu.men
- X dh1:aztec/menuc/menuc menu.men menu.c
- END_OF_FILE
- if test 304 -ne `wc -c <'Makefile'`; then
- echo shar: \"'Makefile'\" unpacked with wrong size!
- fi
- # end of 'Makefile'
- fi
- if test -f 'README' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'README'\"
- else
- echo shar: Extracting \"'README'\" \(719 characters\)
- sed "s/^X//" >'README' <<'END_OF_FILE'
- X7 Jul 1991
- X
- XSomeone posted a request for window/menu/colormap/graphics/menu code
- Xso I threw this together. It doesn't do much, but it does show
- Xthe basics for doing all the above. I used MenuC to do the
- Xmenu code (a great little utility) which can be obtained at:
- X
- Xfaui43.informatik.uni-erlangen.de /portal/amiga/fish/ff438 MenuC.zo
- Xo 51705 Feb 8
- Xux1.cso.uiuc.edu /amiga/fish/ff438 MenuC.zo
- Xo 51705 Feb 8
- Xmrcnext.cso.uiuc.edu /ux1/amiga/fish/ff438 MenuC.zo
- Xo 51705 Aug 12
- X
- XThe Makefile is for Manx C 5.0d. Not much to it so it should be
- Xeasy to modify for others.
- X
- XMike Black
- Xblack@beno.css.gov
- END_OF_FILE
- if test 719 -ne `wc -c <'README'`; then
- echo shar: \"'README'\" unpacked with wrong size!
- fi
- # end of 'README'
- fi
- if test -f 'gr.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'gr.c'\"
- else
- echo shar: Extracting \"'gr.c'\" \(2836 characters\)
- sed "s/^X//" >'gr.c' <<'END_OF_FILE'
- X/* This program opens a custom screen and window with menus */
- X/* The Project menu item "Quit" is the only item on that menu implemented */
- X/* The Misc menu items all work and demonstrate rudimentary drawing */
- X/* and color map calls */
- X
- X#include "intuition.h"
- X
- Xint quit; /* global flag to quit program */
- X
- Xproject(long item,long subitem)
- X{
- X switch(item) {
- X case 4: quit=1;break;
- X default: puts("Not implemented");
- X }
- X}
- X
- Xmisc(long item,long subitem)
- X{
- X long y,x1,y1,x2,y2,i;
- X extern struct RastPort *RastPort;
- X extern struct Window *Window;
- X extern struct Screen *Screen;
- X
- X switch(item) {
- X case 0:
- X /* get the coordinates inside the borders */
- X x1 = Window->LeftEdge + Window->BorderLeft - 1;
- X x2 = Window->Width - Window->BorderRight + 1;
- X y1 = Window->TopEdge + Window->BorderTop -1;
- X y2 = Window->Height - Window->BorderBottom;
- X for(y=y1;y<=y2;y++) { /* Draw color map */
- X SetAPen(RastPort,(y-y1)/24);
- X Move(RastPort,x1,y);
- X Draw(RastPort,x2,y);
- X }
- X break;
- X case 1: /* Setup an RGB colormap */
- X SetRGB4(&Screen->ViewPort,0,0,0,0);
- X SetRGB4(&Screen->ViewPort,1,0,0,7);
- X SetRGB4(&Screen->ViewPort,2,0,0,11);
- X SetRGB4(&Screen->ViewPort,3,0,0,15);
- X SetRGB4(&Screen->ViewPort,4,0,7,0);
- X SetRGB4(&Screen->ViewPort,5,0,11,0);
- X SetRGB4(&Screen->ViewPort,6,0,15,0);
- X SetRGB4(&Screen->ViewPort,7,0,7,7);
- X SetRGB4(&Screen->ViewPort,8,0,11,11);
- X SetRGB4(&Screen->ViewPort,9,0,15,15);
- X SetRGB4(&Screen->ViewPort,10,7,7,0);
- X SetRGB4(&Screen->ViewPort,10,11,11,0);
- X SetRGB4(&Screen->ViewPort,12,15,15,0);
- X SetRGB4(&Screen->ViewPort,13,7,0,7);
- X SetRGB4(&Screen->ViewPort,14,11,0,11);
- X SetRGB4(&Screen->ViewPort,15,15,0,15);
- X break;
- X case 2: /* Setup a Grey Level colormap */
- X for(i=0;i<16;i++) SetRGB4(&Screen->ViewPort,i,i,i,i);
- X break;
- X default: puts("Not implemented");
- X }
- X}
- X
- Xmain()
- X{
- X long choice,menu,item,subitem;
- X
- X init_libs(); /* open the libraries, screen, and window */
- X init_screen();
- X init_window();
- X
- X while(choice=handle_user(&menu,&item,&subitem) && quit==0) {
- X switch(choice) {
- X case 1: /* Menu pick */
- X /* subitem will equal 31 if no subitem was attached to menu */
- X switch(menu) {
- X case 0: project(item,subitem);break;
- X case 1: misc(item,subitem);break;
- X }
- X break;
- X default:
- X printf("choice = %ld\n",choice);
- X break;
- X }
- X }
- X close_all();
- X}
- END_OF_FILE
- if test 2836 -ne `wc -c <'gr.c'`; then
- echo shar: \"'gr.c'\" unpacked with wrong size!
- fi
- # end of 'gr.c'
- fi
- if test -f 'gr.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'gr.uu'\"
- else
- echo shar: Extracting \"'gr.uu'\" \(11893 characters\)
- sed "s/^X//" >'gr.uu' <<'END_OF_FILE'
- Xbegin 644 gr
- XM```#\P`````````#``````````(```;-```!70````$```/I```&S4[Z""Q.V
- XM50``2.<``"`M``A@```<*7P````!A0)@```62'H`&DZZ!Y)83V````A9@&?BF
- XM8.Q,WP``3EU.=4YO="!I;7!L96UE;G1E9`!.5?_H2.<P`"`M``A@``+,(&R%'
- XM!C`H``1(P"!LA082*``V2(%(P="!4X`K0/_X(&R%!C`H``A(P"!LA082*``X1
- XM2(%(P9"!4H`K0/_P(&R%!C`H``9(P"!LA082*``W2(%(P="!4X`K0/_T(&R%Y
- XM!C`H``I(P"!LA082*``Y2(%(P9"!*T#_["MM__3__&````92K?_\("W__+"M^
- XM_^QN``!&("W__)"M__1R&$ZZ%!XB;(4*+&R%#DZN_JHB+?_\("W_^")LA0HL>
- XM;(4.3J[_$"(M__P@+?_P(FR%"BQLA0Y.KO\*8*Q@``(&=@!T`'(`<``@;(42`
- XMT?P````L+&R%#DZN_N!V!W0`<@!P`2!LA1+1_````"PL;(4.3J[^X'8+=`!R:
- XM`'`"(&R%$M'\````+"QLA0Y.KO[@=@]T`'(`<`,@;(42T?P````L+&R%#DZNT
- XM_N!V`'0'<@!P!"!LA1+1_````"PL;(4.3J[^X'8`=`MR`'`%(&R%$M'\````B
- XM+"QLA0Y.KO[@=@!T#W(`<`8@;(42T?P````L+&R%#DZN_N!V!W0'<@!P!R!L@
- XMA1+1_````"PL;(4.3J[^X'8+=`MR`'`((&R%$M'\````+"QLA0Y.KO[@=@]T9
- XM#W(`<`D@;(42T?P````L+&R%#DZN_N!V`'0'<@=P"B!LA1+1_````"PL;(4.&
- XM3J[^X'8`=`MR"W`*(&R%$M'\````+"QLA0Y.KO[@=@!T#W(/<`P@;(42T?P`-
- XM```L+&R%#DZN_N!V!W0`<@=P#2!LA1+1_````"PL;(4.3J[^X'8+=`!R"W`.I
- XM(&R%$M'\````+"QLA0Y.KO[@=@]T`'(/<`\@;(42T?P````L+&R%#DZN_N!@;
- XM``!B0JW_Z&````92K?_H#*T````0_^AL```F)BW_Z"0M_^@B+?_H("W_Z"!LN
- XMA1+1_````"PL;(4.3J[^X,8```(DAZ`"9.N@2:6$]@```42H!G`/TR4X!G&
- XM`/X$4X!GHF#@3-\`#$Y=3G5.;W0@:6UP;&5M96YT960`3E7_\$CG``!.N@$N@
- XM3KH"!DZZ`FI(;?_P2&W_]$AM__A.N@+,3^\`#$J`9P``%DJLA0)F```.*WP`[
- XM```!__Q@```&0JW__&<``%X@+?_\8```3"`M__A@```F+RW_\"\M__1.NOQ0]
- XM4$]@```<+RW_\"\M__1.NOR&4$]@```*2H!GV%.`9^9@```:+RW__$AZ`").T
- XMN@.N4$]@```(4X!GLF#H8`#_<$ZZ`#!,WP``3EU.=6-H;VEC92`]("5L9`H`M
- XM1W)A<&AI8W,``$=R87!H:6-S(#$N,```3E4``$CG``!*K(4&9P``#B!LA08L<
- XM;(463J[_N$JLA1)G```.(&R%$BQLA19.KO^^2JR%#F<```XB;(4.+&R%&DZN=
- XM_F)*K(469P``#B)LA18L;(4:3J[^8DS?``!.74YU3E4``$CG``!P`$/Z`&PL2
- XM;(4:3J[]V"E`A19*K(469@``&DAZ`&9(;(-L3KH"N%!/2'@`&4ZZ%(Q83W``U
- XM0_H`;2QLA1I.KOW8*4"%#DJLA0YF```>2'H`9DAL@VQ.N@*&4$].NO\\2'@`X
- XM&4ZZ%%983TS?``!.74YU:6YT=6ET:6]N+FQI8G)A<GD`97)R;W(@;W!E;FEND
- XM9R!I;G1U:71I;VXN;&EB<F%R>0H`9W)A<&AI8W,N;&EB<F%R>0!E<G)O<B!O$
- XM<&5N:6YG(&=R87!H:6-S+FQI8G)A<GD*`$Y5``!(YP``0>R``BQLA19.KO\Z(
- XM*4"%$DJLA1)F```>2'H`,$AL@VQ.N@'>4$].NOZ42'@`&4ZZ$ZY83RELA1*%`
- XM"@:L````5(4*3-\``$Y=3G5E<G)O<B!O<&5N:6YG('-C<F5E;@H`3E4``$CGN
- XM```I;(42@$!![(`B+&R%%DZN_S0I0(4&2JR%!F8``!Y(>@`T2&R#;$ZZ`7!0X
- XM3TZZ_B9(>``93KH30%A/0>R"(")((&R%!BQLA19.KO[X3-\``$Y=3G5E<G)O<
- XM<B!O<&5N:6YG('=I;F1O=PH`3E7_\$CG```@;(4&(&@`5G``$"@`#W(!X:$@&
- XM`2QLA1I.KO["(&R%!B!H`%8L;(4:3J[^C"M`__`@;?_P*V@`%/_X(&W_\'``&
- XM,"@`&"M`__0B;?_P+&R%&DZN_H8@+?_X8```3$*M__Q@``!4("W_]`*`````3
- XM'R!M``@@@"`M__3J@`*`````/R!M``P@@"`M__1R"^*@`H`````?(&T`$""`5
- XM*WP````!__Q@```2!(````$`9[8$@````0!GIB`M__Q,WP``3EU.=2!'<F5YA
- XM($UA<"```"!#;VQO<B!-87```"!$<F%W("`@("```"!-:7-C`"!1=6ET("`@8
- XM```@4G5N("`@(```(%-A=F5!<R```"!3879E("`@```@3W!E;B`@(```4')OJ
- XM:F5C=`!(YR`@0>\`%"1(+PHO+P`4+R\`%$ZZ!;@D`"`"3^\`#$S?!`1.=4CG<
- XM("!![P`0)$@O"B\O`!!(;(-63KH%DB0`(`)/[P`,3-\$!$YU2.<@,"9O`!!!J
- XM[(-6)$A@+"!2L>H`!&0,(%)2DA""<``0`F`.<``0`B\`+PI.N@J$4$\,@/___
- XM__]G.%*+%!-FT"!2L>H`!&0.(%)2DA"\``IP`'`*8`Q(>``*+PI.N@I44$\,P
- XM@/____]G"'``3-\,!$YU</]@]F%P0^R%`D7LA0*UR68.,CP`'&L(=``BPE')^
- XM__PI3X4>+'@`!"E.A1I(YX"`""X`!`$I9Q!+^@`(3J[_XF`&0J?S7TYS0_H`G
- XM($ZN_F@I0(4B9@PN/``#@`=.KO^48`1.N@`:4$].=61O<RYL:6)R87)Y`$GY:
- XM``!__DYU2.<`,"9O`!`O#BQLA1HB/``!```P+(3X+P%(P"(`XXC0@>.((A]._
- XMKO\Z+%\I0(4F9AY(YP$&+&R%&IO-+CP``0``3J[_E$S?8(`N;(4>3G4@;(4F;
- XM0F@`!"!LA28Q?``!`!`@;(4F,7P``0`*(&R%'B`LA1Z0J``$4(`I0(4J(&R%E
- XM*B"\34%.6"\.+&R%&I/)3J[^VBQ?)$!*J@"L9S(O"R\O`!`O"DZZ`.PI?````
- XM``&%+B!LA298B`!0@``@;(4FT?P````*`%"``$_O``Q@5B\.+&R%&D'J`%Q."
- XMKOZ`+%\O#BQLA1I!Z@!<3J[^C"Q?*4"%,B!LA3)*J``D9R(O#BQLA2(@;(4R$
- XM(&@`)"(03J[_@BQ?+RR%,B\*3KH"6E!/*6R%,H4V+PXL;(4B3J[_RBQ?(&R%8
- XM)B"`+PXL;(4B3J[_Q"Q?(&R%)B%```9*J@"D9R1(YR`"+&R%(B0\```#[4'ZH
- XM`#`B"$ZN_^),WT`$(&R%)B%```PO+(4V+RR%.DZZ^2A03R\`3KH/&EA/3-\,`
- XM`$YU*@!(YS@R)B\`'"@O`"`F;P`D($-*J`"L9Q0@0R`H`*SE@"Q`("X`$.6`.
- XM)$!@!"1LA/H0$DB`2,#0A%2`*4"%/B\.+&R%&G(`("R%/DZN_SHL7RE`A4)FG
- XM!DS?3!Q.=1`22(!(P"0`+P)!Z@`!+P@O+(5"3KH"7$AZ`48@0M'LA4(O"$ZZ\
- XM##@O!"\++RR%0DZZ`3`@;(5"0C`H`"E\`````84Z)$+5[(5"4HHF2D_O`"`0&
- XM$DB`2,`D``R`````(&<@#((````)9Q@,@@````QG$`R"````#6<(#((````*"
- XM9@12BF#,#!(`(&UV#!(`(F8J4HH0&DB`2,`D`&<<%L(,@@```")F$`P2`")F$
- XM!%**8`9"*___8`)@VF`X$!I(@$C`)`!G+`R"````(&<D#((````)9QP,@@``W
- XM``QG%`R"````#6<,#((````*9P06PF#*0AM*@F8"4XI2K(4Z8`#_4D(3+PXLT
- XM;(4:<@`@+(4ZY8!8@$ZN_SHL7RE`A39F"$*LA3I@`/[4=``D;(5"8!H@`N6`"
- XM(&R%-B&*"``O"DZZ!EK5P%**6$]2@K2LA3IMX"`"Y8`@;(4V0K`(`&``_IP@5
- XM`$SO`P``!"`((B\`#$H89OQ3B!#95\G__`2!``$``&KR0B!.=4CG.#(F;P`<[
- XM*"\`("\.+&R%&G``0_H`P$ZN_=@L7RE`A49F!DS?3!Q.=2\.+&R%1B!$(&@`V
- XM)"!H``1.KO^R+%\D0$J`9W@O#BQLA49#^@"5(&H`-DZN_Z`L7RQ`2H!G4$CGI
- XM(`(L;(4B)#P```/M(B\`!$ZN_^),WT`$)@!G,B`#Y8`D`"!")V@`"`"D)T,`$
- XMG$CG(`(L;(4B)#P```/M0?H`2B((3J[_XDS?0`0G0`"@+PXL;(5&($I.KO^FI
- XM+%\O#BQLA1HB;(5&3J[^8BQ?0JR%1F``_U!I8V]N+FQI8G)A<GD`5TE.1$]7+
- XM`"H`3.\#```$(`@B+P`,8`(0V5?)__QG#`2!``$``&KP3G5"&%')__P$@0`!B
- XM``!J\DYU3E7]]$CG/S(F;0`(+&T`$'X`)&T`#!829@H@!TS?3/Q.74YU4HH,Z
- XM`P`E9T(D!R!3L>L`!&0,(%-2DQ"#<``0`V`.<``0`R\`+PM.N@3D4$\,@/__@
- XM__]G``1X4H(6$F8$(`)@N%**#`,`)6;"+@)X`"M\````(/_\%AIP`!`#8&@(F
- XMQ```8/((Q``!8.P(Q``"8.8(Q``#8.!-[@`$)"[__$J";`8(Q```1((6&F!64
- XM*WP````P__QT`&`8(`+G@'(`$@/0@=""T((D``2"````,!8:<``0`T'L@C\0.
- XM,```2(`(```"9M1@'`1``"!GGE=`9Z!?0&>B4T!GC%5`9X)70&>L8+(K0O_X+
- XM)#P``'W`,`+F9>%AH,`P`J9A9-[@`$)"[__$J";`8D/```?<86&F`P=`!@*
- XM&"`"YX!R`!(#T('0@M"")``$@@```#`6&G``$`-![((_$#```$B`"````F;4D
- XM#((``'W&9P@K?````"#__"H"#`,`:&8&",0`!V`6#`,`;&8&",0`!F`*#`,`,
- XM3&8&",0`"!8:*TH`#'``$`-@``&>8``#*@@$``=G#$WN``0@;O_\,(=@'`@$9
- XM``9G#$WN``0@;O_\((=@"DWN``0@;O_\((=T`&```;)-[@`$)&[__"\*3KH#8
- XM$"0`#(4``'W&6$]G!K2%;P(D!6```8Y-[@`$%B[__T'M_?@D2!"#=`%@``%X/
- XM=`A@$`!$`$AV>'008`8(Q``$=`H,`P!89@A!^@*D(`A@!D'Z`JT@""M`_?0(8
- XM!``&9PI-[@`$+"[__&`8"`0`!&<*3>X`!"PN__Q@"$WN``0L+O_\"`0`!&<*9
- XM2H9L!D2&",0`!4'M__@D2`R%``!]QF8">@%*AF8$2H5G'"`&(@).N@6&(&W]8
- XM]!4P"``@!B("3KH%@BP`9N1![?_XD<HD"`@$``-G;@P#`&]F%$J"9PH,$@`PC
- XM9PBTA6T$*@)2A6!4#`,`>&<`,`6&9(2H)G1`P2`#!G/K2%;!!![?WZL<ID\
- XM"!4\`#!2@F#L"`0``&8<#*T````P__QF$B`"5("PK?_X;`@J+?_X585@RA4#[
- XM%3P`,%2"M(5L$$'M_?BQRF0(%3P`,%*"8.Q@3`1``"5G`/["!$``,V<`_M($E
- XM0``+9P#^JE-`9P#^R%M`9P#^PEM`9P#^0%-`9P#^J%-`9P#^IE=`9P#^8E5`-
- XM9P#^J%=`9P#^FF``_AH(!``$9R@(!``%9P85/``M8!H(!``!9P85/``K8`X(<
- XM!``"9P85/``@8`)3@E*"WH((!```9@``D`RM````,/_\9D((!``$9SPP!`)`&
- XM`"9G-"!3L>L`!&0.(%-2DQ":<``0*O__8`YP`!`:+P`O"TZZ`3103PR`____&
- XM_V<``,A3K?_X4X)@-"!3L>L`!&00(%-2DQ"M__]P`!`M__]@$'``$"W__R\`=
- XM+PM.N@#Z4$\,@/____]G``".4H<@+?_X4ZW_^+"";L`J`B`"4X)*@&<N(%.QR
- XMZP`$9`X@4U*3$)IP`!`J__]@#G``$!HO`"\+3KH`M%!/#(#_____9TA@R@@$$
- XM``!G/"0%8"P@4['K``1D#B!34I,0O``@<`!P(&`,2'@`("\+3KH`?E!/#(#_7
- XM____9Q)2AR`M__A3K?_XL()NR&``^T1P_V``^T@P,3(S-#4V-S@Y04)#1$5&%
- XM`#`Q,C,T-38W.#EA8F-D968`(&\`!"`(2AAF_%-(D<`@"$YU2.<`($'L@T`D;
- XM2"\*3KH!F%A/U?P````60>R$^+7(9>I,WP0`3G5(YSP@)&\`&"@O`!P@"F<`1
- XM`6HT*@`,9P`!8@@"``EF``%:"`(``V8``5)!Z@`,`E#O_4JJ``AF'`R$____Y
- XM_V8(<`!,WP0\3G4O"DZZ`P@T*@`,6$\(`@`.9C0@4K'J``AC'DAX``$@$I"J=
- XM``0O`!`J``Y(@$C`+P!.N@2"3^\`#"2J``@@:@`0T=(E2``$#(3_____9@1V"
- XM`&`"%@0@$I"J``@J`#`"`D``H&=(3_____9QH@4E*2$(-!Z@`,"-``!C00J
- XM0?K_%"E(A4I2A0R$_____V<,#`,`"F<&NJH`$&4$>/]@#"52``1P`!`#8`#_'
- XM4@@"``YG*$J%9QPO!2\J``@0*@`.2(!(P"\`3KH$M+"%3^\`#&9.0>H`#`B0I
- XM``8,A/____]F$B2J``@E:@`(``1P`!`#8`#_"D'Z_IXI2(5*0>H`#`C0``8DW
- XMJ@`((&H`$-'2)4@`!"!24I(0@W``$`-@`/[>0>H`#`CH``(``25J``@`!"2J;
- XM``AP_V``_L1.5?_V2.<X("1M``AT`"`*9P9*:@`,9@IP_TS?!!Q.74YU""H`F
- XM`0`,9@HO"DZZ`*"$@%A/$"H`#DB`2,`O`$ZZ!K*$@`@J````#5A/9PHO*@`(,
- XM3KH!]EA/2FH`%&=.2'H`:DAM__=.N@*D."H`%'8`4$]P`#`$<@I.N@#:!H``[
- XM```P<@>2@T'M__<1@!@`2,2)_``*4H,,@P````5MU$(M__](;?_W3KH#9%A/^
- XM0I)"J@`$0JH`"$)J``Q*@F<&</]@`/]8<`!@`/]25$U0`$CG`"`D;P`((`IF;
- XM1$'L@T`D2$IJ``QG)C`J``P"0`((9AQ(>/__+PI.NOV(#(#_____4$]F"'#_I
- XM3-\$`$YUU?P````60>R$^+7(9<9P`H2'C__R\*3KK]6E!/8-I(YT@`0H1*8
- XM@&H$1(!21$J!:@9$@0I$``%A/DI$9P)$@$S?`!)*@$YU2.=(`$*$2H!J!$2`T
- XM4D1*@6H"1(%A&B`!8-@O`6$2(`$B'TJ`3G4O`6$&(A]*@$YU2.<P`$A!2D%FV
- XM($A!-@$T`$)`2$"`PR(`2$`R`H+#,`%"04A!3-\`#$YU2$$F`2(`0D%(04A`A
- XM0D!T#]"`TX&V@6($DH-20%'*__),WP`,3G5(YR`@)&\`#'1!$"H`#DB`2,`O]
- XM`$ZZ`3!*@%A/9P1T(6`(0>R#;+7(9Q@E?```!```$$AX!`!.N@"V)4``"%A/U
- XM9A0E?`````$`$$'J``\E2``(-#P`@$'J``QP`#`0,@)(P8"!,(`E:@`(``0D?
- XMJ@`(3-\$!$YU2.<`,BQO`!"7RR1LA4Y@#$'J``B]R&<.)DHD4B`*9O!,WTP`O
- XM3G4@"V<$)I)@!"E2A4XO#BQLA1H@*@`$4(`B2DZN_RXL7V#82.<`,"1LA4Y@/
- XM&"92+PXL;(4:("H`!%"`(DI.KO\N+%\D2R`*9N1"K(5.3-\,`$YU2.<@("0OB
- XM``Q*@F8(<`!,WP0$3G4O#BQLA1IR`"`"4(!.KO\Z+%\D0$J`9@1P`>0?K_$
- XMGBE(A5(DK(5.)4(`!"E*A4X@"E"`8,1,[P,```0@"!#99OQ.=4CG("`D+P`,>
- XM(`(B`..(T('CB"1`U>R%)DJ";0PP;(3XL<)O!$J29A`I?`````.%5G#_3-\$Q
- XM!$YU+PXL;(4B(`(B`..(T('CB"!LA28B,`@`3J[_*"Q?2H!G!'`!8`)P`
- XM2.<P("0O`!!.N@%J(`(B`..(T('CB"1`U>R%)DJ";0PP;(3XL<)O!$J29A`I.
- XM?`````.%5G#_3-\$#$YU2.<P`BQLA2(@+P`D4X`F`"0O`"`B$DZN_[Y,WT`,J
- XM)@`,@/____]F%"\.+&R%(DZN_WPL7RE`A59P_V"^2.<P`BQLA2)V`'0`(A).#
- XMKO^^3-]`#&"F2.<`("1O``@O#BQLA2(B"DZN_[@L7TJ`9A@O#BQLA2).KO]\S
- XM+%\I0(56</],WP0`3G5P`V2.<P,"0O`!0F;P`83KH`H"`"(@#CB-"!XX@D0
- XM0-7LA29*@FT,,&R$^+'";P1*DF80*7P````#A59P_TS?#`Q.=3`J``0"0``#<
- XM9@PI?`````:%5G#_8.0(*@`#``1G%DCG,`(L;(4B=@%T`"(23J[_ODS?0`Q(8
- XMYS`"+&R%(B8O`"@D"R(23J[_T$S?0`PF``R`_____V84+PXL;(4B3J[_?"Q?@
- XM*4"%5G#_8)`@`V",2.<@`"\.+&R%&B(\```0`'``3J[^SBQ?)``(```,9Q)*A
- XMK(4N9@@@`DS?``1.=4ZZ``9P`R2.<P`BQLA2)V!$'Z`"HD""\#+P(L;(4B^
- XM3J[_Q"(`)!\F'TZN_]!,WT`,2'@``4ZZ``I83TYU7D,*`$JLA5IG%"!LA5H@N
- XM:``$3I`@;(5:*5"%6F#F2JR%2F<&(&R%2DZ0+R\`!$ZZ``983TYU2.<P`"8O,
- XM``Q*K(4F9S1T`&`*+P).N@%*6$]2@C!LA/BQPF[N+PXL;(4:,"R$^$C`(@#CE
- XMB-"!XX@B;(4F3J[_+BQ?2JR%4F<&(&R%4DZ02JR$_F<0+PXL;(4B(BR$_DZNC
- XM_Z8L7TJLA5YG""!LA5X@K(5B2JR%9F<0+PXL;(4:(FR%9DZN_F(L7TJLA6IG2
- XM$"\.+&R%&B)LA6I.KOYB+%]*K(5N9Q`O#BQLA1HB;(5N3J[^8BQ?2JR%<F<0(
- XM+PXL;(4:(FR%<DZN_F(L7TCG``8L>``$""X`!`$I9Q!+^@`(3J[_XF`&0J?S$
- XM7TYS*E]*K(4R9C1*K(5"9RPO#BQLA1H@+(4^(FR%0DZN_RXL7R\.+&R%&B`L,
- XMA3KE@%B`(FR%-DZN_RXL7V`<+PXL;(4:3J[_?"Q?+PXL;(4:(FR%,DZN_H8L0
- XM7R\.+&R%&B)LA2).KOYB+%\@`RYLA1Y.=4S?``Q.=4CG("`D+P`,(`(B`..()
- XMT('CB"1`U>R%)DJ";0PP;(3XL<)O!$J29A`I?`````.%5G#_3-\$!$YU,"H`C
- XM!`)`@`!F#B\.+&R%(B(23J[_W"Q?0I)P`<``````/L`````0````$```BBG
- XM`````````_(```/J```!0``````"@`&0``0``8`$``\````````$$```````B
- XM``````````*``9```0```P```!`(``````````````0:````````````,@`98
- XM`H`!D``/``$````"``(````````'"`````````````(`%`"6``H`5@``````"
- XM``!0`````$<```````````$````"``(````````'%`````````!D``(`"@"6]
- XM``H`5@````````"&`````$,```````````$````"``(````````'(```````5
- XM``":``(```"6``H`5@````````"\`````$0```````````````!,````,0`+:
- XM``$```<L````T`````````````$````"``(````````',@````````````(`$
- XM*`"$``H`5@````````$0`````%$```````````$````"``(````````'/```V
- XM``````$D``(`'@"$``H`5@````````%&`````%(```````````$````"``(`'
- XM```````'1@````````%:``(`%`"$``H`5@````````%\`````$$`````````@
- XM``$````"``(````````'4`````````&0``(`"@"$``H`5@````````&R````0
- XM`%,```````````$````"``(````````'6@````````'&``(```"$``H`5@``F
- XM``````'H`````$\`````````````\@`$````0P`+``$```=D```!_```````E
- XM`````"`@("`@("`@(#`P,#`P("`@("`@("`@("`@("`@("`@D$!`0$!`0$!`@
- XM0$!`0$!`0`P,#`P,#`P,#`Q`0$!`0$!`"0D)"0D)`0$!`0$!`0$!`0$!`0$!]
- XM`0$!`0%`0$!`0$`*"@H*"@H"`@("`@("`@("`@("`@("`@("`D!`0$`@````)
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````@````````$```````````````````0``0`````!````````````````)
- XM```$``(``````0``````````````````````````````````````````````'
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM````````````````````````````````````%``````````````#[````!$`4
- XM```!````=@```)H```"L````T````.(```$$```!-@```5H```%L```!D```$
- XM`:(```'&```!V````?P```(.```"'@```C`````,`````````!0````Z````\
- XM7````)(```#(```!`````1P```%2```!B````;X```'T```"+`````````/R'
- X,```#ZP````$```/RD
- X``
- Xend
- Xsize 8472
- END_OF_FILE
- if test 11893 -ne `wc -c <'gr.uu'`; then
- echo shar: \"'gr.uu'\" unpacked with wrong size!
- fi
- # end of 'gr.uu'
- fi
- if test -f 'intuition.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'intuition.c'\"
- else
- echo shar: Extracting \"'intuition.c'\" \(2639 characters\)
- sed "s/^X//" >'intuition.c' <<'END_OF_FILE'
- X#include "intuition.h"
- X
- Xstruct NewScreen NewScreen = {
- X 0,0, /* leftedge ,topedge */
- X 640,400, /* width, height */
- X 4, /* depth, 4=16 colors */
- X 0,1, /* detail color, blockpen color */
- X HIRES|INTERLACE, /* viewmode */
- X CUSTOMSCREEN, /* screen type */
- X NULL, /* font */
- X (UBYTE*)"Graphics", /* title */
- X NULL, /* gadgets */
- X NULL, /* bitmap */
- X};
- X
- Xstruct NewWindow NewWindow = {
- X 0,0,
- X 640,400,
- X 0,1,
- X MENUPICK | CLOSEWINDOW,
- X WINDOWCLOSE | SMART_REFRESH | ACTIVATE,
- X NULL,NULL,(UBYTE*)"Graphics 1.0",
- X NULL,NULL,50,25,640,400,CUSTOMSCREEN,
- X};
- X
- Xstruct IntuitionBase *IntuitionBase;
- Xstruct GfxBase *GfxBase;
- Xstruct Screen *Screen;
- Xstruct Window *Window;
- Xstruct RastPort *RastPort;
- Xextern struct Menu Project_menu;
- X
- Xvoid close_all(void)
- X{
- X if (Window) CloseWindow(Window);
- X if (Screen) CloseScreen(Screen);
- X if (GfxBase) CloseLibrary(GfxBase);
- X if (IntuitionBase) CloseLibrary(IntuitionBase);
- X}
- X
- Xvoid init_libs(void)
- X{
- X IntuitionBase = (struct IntuitionBase *)OpenLibrary("intuition.library",0L);
- X if (IntuitionBase == NULL) {
- X fprintf(stderr,"error opening intuition.library\n");
- X exit(25);
- X }
- X GfxBase = (struct GfxBase *) OpenLibrary("graphics.library",0L);
- X if (GfxBase == NULL) {
- X fprintf(stderr,"error opening graphics.library\n");
- X close_all();
- X exit(25);
- X }
- X}
- X
- Xvoid init_screen(void)
- X{
- X Screen = (struct Screen *)OpenScreen(&NewScreen);
- X if (Screen == NULL) {
- X fprintf(stderr,"error opening screen\n");
- X close_all();
- X exit(25);
- X }
- X RastPort = &Screen->RastPort;
- X}
- X
- Xvoid init_window(void)
- X{
- X NewWindow.Screen = Screen;
- X Window = OpenWindow(&NewWindow);
- X if (Window == NULL) {
- X fprintf(stderr,"error opening window\n");
- X close_all();
- X exit(25);
- X }
- X SetMenuStrip(Window, &Project_menu);
- X}
- X
- X/* This function returns:
- X 0 when the CLOSE gadget is hit,
- X 1 when a menu item is picked
- X It can be easily extended to return gadgets, mouse xy, etc
- X*/
- X
- Xlong handle_user(long *menu,long *item,long *sub)
- X{
- X long rc,class,code;
- X struct IntuiMessage *message;
- X
- X Wait(1<<Window->UserPort->mp_SigBit);
- X message = (struct IntuiMessage *)GetMsg(Window->UserPort);
- X class = message->Class;
- X code = message->Code;
- X ReplyMsg((struct Message *)message);
- X switch (class) {
- X case CLOSEWINDOW: rc=0;break;
- X case MENUPICK: {
- X *menu = MENUNUM(code);
- X *item = ITEMNUM(code);
- X *sub = SUBNUM(code);
- X rc = 1;
- X }
- X }
- X return rc;
- X}
- END_OF_FILE
- if test 2639 -ne `wc -c <'intuition.c'`; then
- echo shar: \"'intuition.c'\" unpacked with wrong size!
- fi
- # end of 'intuition.c'
- fi
- if test -f 'intuition.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'intuition.h'\"
- else
- echo shar: Extracting \"'intuition.h'\" \(150 characters\)
- sed "s/^X//" >'intuition.h' <<'END_OF_FILE'
- X#include <intuition/intuition.h>
- X#include <stdlib.h>
- X#include <stdio.h>
- X#include <exec/types.h>
- X#include <functions.h>
- X#include <graphics/display.h>
- X
- END_OF_FILE
- if test 150 -ne `wc -c <'intuition.h'`; then
- echo shar: \"'intuition.h'\" unpacked with wrong size!
- fi
- # end of 'intuition.h'
- fi
- if test -f 'menu.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'menu.c'\"
- else
- echo shar: Extracting \"'menu.c'\" \(4971 characters\)
- sed "s/^X//" >'menu.c' <<'END_OF_FILE'
- X/*
- X * This File was created by
- X *
- X * "MenuC" The Menu Compiler. V0.8
- X *
- X * written by Bruce Mackey. (c) 1990,1991
- X *
- X */
- X
- X#include <intuition/intuition.h>
- X
- X/********** Start Misc Menu **********/
- X
- Xstruct IntuiText _Grey_Map__item_text = {
- X 0,1, /* FrontPen, BackPen */
- X 0, /* DrawMode(jam1) */
- X 2,2, /* LeftEdge,TopEdge */
- X NULL, /* ITextFont */
- X " Grey Map ", /* IText */
- X NULL, /* NextText */
- X };
- X
- Xstruct MenuItem _Grey_Map__item = {
- X NULL, /* Next Item */
- X 2,20,150,10, /* LeftEdge,TopEdge,Width,Height */
- X ITEMENABLED|HIGHCOMP|ITEMTEXT|COMMSEQ, /* Flags */
- X NULL, /* MutualExclude */
- X (APTR)&_Grey_Map__item_text, /* ItemFill */
- X NULL, /* SelectFill */
- X 0x47, /* Command */
- X NULL, /* SubItem */
- X NULL /* NextSelect */
- X };
- X
- Xstruct IntuiText _Color_Map_item_text = {
- X 0,1, /* FrontPen, BackPen */
- X 0, /* DrawMode(jam1) */
- X 2,2, /* LeftEdge,TopEdge */
- X NULL, /* ITextFont */
- X " Color Map", /* IText */
- X NULL, /* NextText */
- X };
- X
- Xstruct MenuItem _Color_Map_item = {
- X &_Grey_Map__item, /* Next Item */
- X 2,10,150,10, /* LeftEdge,TopEdge,Width,Height */
- X ITEMENABLED|HIGHCOMP|ITEMTEXT|COMMSEQ, /* Flags */
- X NULL, /* MutualExclude */
- X (APTR)&_Color_Map_item_text, /* ItemFill */
- X NULL, /* SelectFill */
- X 0x43, /* Command */
- X NULL, /* SubItem */
- X NULL /* NextSelect */
- X };
- X
- Xstruct IntuiText _Draw______item_text = {
- X 0,1, /* FrontPen, BackPen */
- X 0, /* DrawMode(jam1) */
- X 2,2, /* LeftEdge,TopEdge */
- X NULL, /* ITextFont */
- X " Draw ", /* IText */
- X NULL, /* NextText */
- X };
- X
- Xstruct MenuItem _Draw______item = {
- X &_Color_Map_item, /* Next Item */
- X 2,0,150,10, /* LeftEdge,TopEdge,Width,Height */
- X ITEMENABLED|HIGHCOMP|ITEMTEXT|COMMSEQ, /* Flags */
- X NULL, /* MutualExclude */
- X (APTR)&_Draw______item_text, /* ItemFill */
- X NULL, /* SelectFill */
- X 0x44, /* Command */
- X NULL, /* SubItem */
- X NULL /* NextSelect */
- X };
- X
- Xstruct Menu _Misc_menu = {
- X NULL, /* Next Menu */
- X 76,0,49,11, /* LeftEdge,TopEdge,Width,Height */
- X MENUENABLED, /* Flags */
- X " Misc", /* MenuName */
- X &_Draw______item /*FirstItem */
- X };
- X
- X/********** End Misc Menu **********/
- X
- X/********** Start Project Menu **********/
- X
- Xstruct IntuiText _Quit____item_text = {
- X 0,1, /* FrontPen, BackPen */
- X 0, /* DrawMode(jam1) */
- X 2,2, /* LeftEdge,TopEdge */
- X NULL, /* ITextFont */
- X " Quit ", /* IText */
- X NULL, /* NextText */
- X };
- X
- Xstruct MenuItem _Quit____item = {
- X NULL, /* Next Item */
- X 2,40,132,10, /* LeftEdge,TopEdge,Width,Height */
- X ITEMENABLED|HIGHCOMP|ITEMTEXT|COMMSEQ, /* Flags */
- X NULL, /* MutualExclude */
- X (APTR)&_Quit____item_text, /* ItemFill */
- X NULL, /* SelectFill */
- X 0x51, /* Command */
- X NULL, /* SubItem */
- X NULL /* NextSelect */
- X };
- X
- Xstruct IntuiText _Run_____item_text = {
- X 0,1, /* FrontPen, BackPen */
- X 0, /* DrawMode(jam1) */
- X 2,2, /* LeftEdge,TopEdge */
- X NULL, /* ITextFont */
- X " Run ", /* IText */
- X NULL, /* NextText */
- X };
- X
- Xstruct MenuItem _Run_____item = {
- X &_Quit____item, /* Next Item */
- X 2,30,132,10, /* LeftEdge,TopEdge,Width,Height */
- X ITEMENABLED|HIGHCOMP|ITEMTEXT|COMMSEQ, /* Flags */
- X NULL, /* MutualExclude */
- X (APTR)&_Run_____item_text, /* ItemFill */
- X NULL, /* SelectFill */
- X 0x52, /* Command */
- X NULL, /* SubItem */
- X NULL /* NextSelect */
- X };
- X
- Xstruct IntuiText _SaveAs__item_text = {
- X 0,1, /* FrontPen, BackPen */
- X 0, /* DrawMode(jam1) */
- X 2,2, /* LeftEdge,TopEdge */
- X NULL, /* ITextFont */
- X " SaveAs ", /* IText */
- X NULL, /* NextText */
- X };
- X
- Xstruct MenuItem _SaveAs__item = {
- X &_Run_____item, /* Next Item */
- X 2,20,132,10, /* LeftEdge,TopEdge,Width,Height */
- X ITEMENABLED|HIGHCOMP|ITEMTEXT|COMMSEQ, /* Flags */
- X NULL, /* MutualExclude */
- X (APTR)&_SaveAs__item_text, /* ItemFill */
- X NULL, /* SelectFill */
- X 0x41, /* Command */
- X NULL, /* SubItem */
- X NULL /* NextSelect */
- X };
- X
- Xstruct IntuiText _Save____item_text = {
- X 0,1, /* FrontPen, BackPen */
- X 0, /* DrawMode(jam1) */
- X 2,2, /* LeftEdge,TopEdge */
- X NULL, /* ITextFont */
- X " Save ", /* IText */
- X NULL, /* NextText */
- X };
- X
- Xstruct MenuItem _Save____item = {
- X &_SaveAs__item, /* Next Item */
- X 2,10,132,10, /* LeftEdge,TopEdge,Width,Height */
- X ITEMENABLED|HIGHCOMP|ITEMTEXT|COMMSEQ, /* Flags */
- X NULL, /* MutualExclude */
- X (APTR)&_Save____item_text, /* ItemFill */
- X NULL, /* SelectFill */
- X 0x53, /* Command */
- X NULL, /* SubItem */
- X NULL /* NextSelect */
- X };
- X
- Xstruct IntuiText _Open____item_text = {
- X 0,1, /* FrontPen, BackPen */
- X 0, /* DrawMode(jam1) */
- X 2,2, /* LeftEdge,TopEdge */
- X NULL, /* ITextFont */
- X " Open ", /* IText */
- X NULL, /* NextText */
- X };
- X
- Xstruct MenuItem _Open____item = {
- X &_Save____item, /* Next Item */
- X 2,0,132,10, /* LeftEdge,TopEdge,Width,Height */
- X ITEMENABLED|HIGHCOMP|ITEMTEXT|COMMSEQ, /* Flags */
- X NULL, /* MutualExclude */
- X (APTR)&_Open____item_text, /* ItemFill */
- X NULL, /* SelectFill */
- X 0x4f, /* Command */
- X NULL, /* SubItem */
- X NULL /* NextSelect */
- X };
- X
- Xstruct Menu Project_menu = {
- X &_Misc_menu, /* Next Menu */
- X 4,0,67,11, /* LeftEdge,TopEdge,Width,Height */
- X MENUENABLED, /* Flags */
- X "Project", /* MenuName */
- X &_Open____item /*FirstItem */
- X };
- X
- X/********** End Project Menu **********/
- END_OF_FILE
- if test 4971 -ne `wc -c <'menu.c'`; then
- echo shar: \"'menu.c'\" unpacked with wrong size!
- fi
- # end of 'menu.c'
- fi
- if test -f 'menu.men' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'menu.men'\"
- else
- echo shar: Extracting \"'menu.men'\" \(349 characters\)
- sed "s/^X//" >'menu.men' <<'END_OF_FILE'
- XMENU 1 "Project"
- X ITEM 1 1 " Open " SHORTCUT O
- X ITEM 1 2 " Save " SHORTCUT S
- X ITEM 1 3 " SaveAs " SHORTCUT A
- X ITEM 1 4 " Run " SHORTCUT R
- X ITEM 1 5 " Quit " SHORTCUT Q
- X
- XMENU 2 " Misc"
- X ITEM 2 1 " Draw " SHORTCUT D
- X ITEM 2 2 " Color Map" SHORTCUT C
- X ITEM 2 2 " Grey Map " SHORTCUT G
- X
- END_OF_FILE
- if test 349 -ne `wc -c <'menu.men'`; then
- echo shar: \"'menu.men'\" unpacked with wrong size!
- fi
- # end of 'menu.men'
- fi
- echo shar: End of archive 1 \(of 1\).
- cp /dev/null ark1isdone
- MISSING=""
- for I in 1 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have the archive.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
- --
- Mail submissions (sources or binaries) to <amiga@uunet.uu.net>.
- Mail comments to the moderator at <amiga-request@uunet.uu.net>.
- Post requests for sources, and general discussion to comp.sys.amiga.misc.
-